@microsoft/omnichannel-chat-widget 0.1.0-main.0ec5410 → 0.1.0-main.170e416

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/common/Constants.js +46 -151
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +65 -25
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +26 -54
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +13 -33
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  15. package/lib/cjs/common/utils.js +80 -80
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  18. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  19. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -71
  20. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  23. package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
  24. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  27. package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -37
  28. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  29. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  33. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  34. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  35. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  36. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  37. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  38. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  39. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +74 -53
  42. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  43. package/lib/cjs/components/livechatwidget/common/endChat.js +107 -21
  44. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  45. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  46. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +38 -52
  48. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +101 -66
  49. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  50. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  51. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  52. package/lib/cjs/components/livechatwidget/common/startChat.js +221 -88
  53. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  54. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  55. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +345 -163
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  58. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  60. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  61. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  64. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  65. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  66. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  67. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  68. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  72. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  76. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  77. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  78. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  121. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  122. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  123. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  124. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  125. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +13 -10
  126. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +13 -13
  127. package/lib/cjs/contexts/createReducer.js +161 -109
  128. package/lib/cjs/controller/componentController.js +4 -33
  129. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  130. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  131. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  132. package/lib/cjs/index.js +0 -5
  133. package/lib/cjs/plugins/newMessageEventHandler.js +22 -46
  134. package/lib/esm/common/Constants.js +41 -139
  135. package/lib/esm/common/KeyCodes.js +0 -2
  136. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  137. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  138. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  139. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  140. package/lib/esm/common/telemetry/TelemetryConstants.js +69 -22
  141. package/lib/esm/common/telemetry/TelemetryHelper.js +27 -44
  142. package/lib/esm/common/telemetry/TelemetryManager.js +13 -22
  143. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  144. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  145. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  146. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  147. package/lib/esm/common/utils.js +73 -45
  148. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  149. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  150. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  151. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -48
  152. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  154. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  155. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  157. package/lib/esm/components/headerstateful/HeaderStateful.js +17 -22
  158. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  159. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  160. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  163. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  164. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  165. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  166. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  167. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  168. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  169. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  170. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  171. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +76 -41
  172. package/lib/esm/components/livechatwidget/common/endChat.js +110 -12
  173. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  174. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  175. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  176. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +41 -22
  177. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +101 -59
  178. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  179. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  180. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  181. package/lib/esm/components/livechatwidget/common/startChat.js +222 -69
  182. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  183. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  184. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +350 -117
  185. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  186. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  187. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  188. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  189. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  190. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  191. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  192. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  193. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  194. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  195. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  196. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  197. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  198. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  200. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  201. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  202. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  203. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  205. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  206. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  249. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  250. package/lib/esm/contexts/ChatContextStore.js +2 -1
  251. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  252. package/lib/esm/contexts/common/ConversationState.js +3 -3
  253. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +13 -10
  254. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +13 -9
  255. package/lib/esm/contexts/createReducer.js +161 -105
  256. package/lib/esm/controller/componentController.js +5 -4
  257. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  258. package/lib/esm/hooks/useChatContextStore.js +0 -4
  259. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  260. package/lib/esm/plugins/newMessageEventHandler.js +22 -35
  261. package/lib/types/common/Constants.d.ts +38 -2
  262. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  263. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  264. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  265. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  266. package/lib/types/common/telemetry/TelemetryConstants.d.ts +45 -7
  267. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  268. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  269. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  270. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  271. package/lib/types/common/utils.d.ts +8 -1
  272. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
  273. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  274. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  275. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  276. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  277. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  278. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  279. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  280. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  281. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  282. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  283. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  284. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  285. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  286. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  287. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  288. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  289. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  290. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  291. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  292. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  293. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  294. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  295. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  296. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  297. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  298. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  299. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  300. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  301. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  302. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  303. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  304. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  305. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  306. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  307. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  308. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  310. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  311. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -3
  312. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +14 -10
  313. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  314. package/package.json +9 -9
package/README.md CHANGED
@@ -11,8 +11,9 @@
11
11
  1. [Installation](#installation)
12
12
  1. [Example Usage](#example-usage)
13
13
  1. [Components](#components)
14
- 1. [Telemetry](#telemetry)
15
- 1. [Features](#features)
14
+ 1. [Common Scenarios](#common-scenarios)
15
+ - [Disable Bot Magic Code](#disable-bot-magic-code)
16
+ 1. [See Also](#see-also)
16
17
 
17
18
  ## Introduction
18
19
 
@@ -84,15 +85,7 @@ const render = async () => {
84
85
  }
85
86
  },
86
87
  chatSDK: chatSDK, // mandatory
87
- chatConfig: chatConfig, // mandatory
88
- telemetryConfig: { //mandatory
89
- orgId: omnichannelConfig.orgId,
90
- orgUrl: omnichannelConfig.orgUrl,
91
- appId: omnichannelConfig.widgetId,
92
- OCChatSDKVersion: chatSdkVersion,
93
- chatComponentVersion: chatComponentVersion,
94
- chatWidgetVersion: chatWidgetVersion
95
- }
88
+ chatConfig: chatConfig // mandatory
96
89
  };
97
90
 
98
91
  ReactDOM.render(
@@ -134,6 +127,7 @@ These are components that are included in the ```@microsoft/omnichannel-chat-com
134
127
 
135
128
  | Component | Default Usage | Interface |
136
129
  | ----- | -------- | ----- |
130
+ | WebChatContainer | The default wrapper around BotFramework's [WebChat](https://github.com/microsoft/BotFramework-WebChat), which is the message container we are using | [IWebChatContainerStatefulProps](https://github.com/microsoft/omnichannel-chat-widget/blob/main/chat-widget/src/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.ts) |
137
131
  | LiveChatWidget | The default widget that stitches the UI components with Chat SDK | [ILiveChatWidgetProps](https://github.com/microsoft/omnichannel-chat-widget/blob/main/chat-widget/src/components/livechatwidget/interfaces/ILiveChatWidgetProps.ts) |
138
132
 
139
133
  Some of the interfaces listed in the Stateless table have Stateful counterparts defined in the ```@microsoft/omnichannel-chat-widget``` package. For example, [IConfirmationPaneStatefulProps](https://github.com/microsoft/omnichannel-chat-widget/blob/main/chat-widget/src/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulProps.ts) extends [IConfirmationPaneProps](https://github.com/microsoft/omnichannel-chat-widget/blob/main/chat-components/src/components/confirmationpane/interfaces/IConfirmationPaneProps.ts) with additional attributes that only makes sense in the stateful context.
@@ -226,6 +220,36 @@ const customizedFooterProp: IFooterProps = {
226
220
 
227
221
  > :pushpin: Note that [WebChat hooks](https://github.com/microsoft/BotFramework-WebChat/blob/main/docs/HOOKS.md) can also be used in any custom components.
228
222
 
223
+ ## Common Scenarios
224
+
225
+ ### Disable Bot Magic Code
226
+
227
+ Configuration to disable the default behaviour of having to type the magic code in the conversation to complete the sign-in proccess with a bot. Instead, the magic code will be sent to the bot behind the scenes.
228
+
229
+ 1. Add [MagicCodeForwarder.html](sample/MagicCodeForwarder.html) in the same location as the chat widget
230
+
231
+ 2. Add `botMagicCode` configuration to disable default magic code feature
232
+
233
+ > :exclamation: `fwdUrl` **MUST** have the same `origin` as the chat widget URL
234
+
235
+ ```js
236
+ const liveChatWidgetProps = {
237
+ chatSDK: chatSDK, // mandatory
238
+ chatConfig: chatConfig, // mandatory
239
+ webChatContainerProps: {
240
+ botMagicCode: {
241
+ disabled: true,
242
+ fwdUrl: 'http://localhost:8000/sample/MagicCodeForwarder.html'
243
+ }
244
+ },
245
+ };
246
+
247
+ ReactDOM.render(
248
+ <LiveChatWidget {...liveChatWidgetProps}/>,
249
+ document.getElementById("my-container")
250
+ );
251
+ ```
252
+
229
253
  ## See Also
230
254
 
231
255
  [Telemetry](https://github.com/microsoft/omnichannel-chat-widget/blob/main/docs/Telemetry.md)\
@@ -3,305 +3,200 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.Regex = exports.MimeTypes = exports.LocaleConstants = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.ElementType = exports.Constants = exports.ChatSDKError = void 0;
7
-
6
+ exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.Regex = exports.MimeTypes = exports.LocaleConstants = exports.LiveWorkItemState = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.EnvironmentVersion = exports.ElementType = exports.E2VVOptions = exports.Constants = exports.ChatSDKError = exports.AriaTelemetryConstants = void 0;
8
7
  var _class;
9
-
10
8
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
9
  class Constants {}
13
-
14
10
  exports.Constants = Constants;
15
-
11
+ _defineProperty(Constants, "magicCodeBroadcastChannel", "MagicCodeChannel");
12
+ _defineProperty(Constants, "magicCodeResponseBroadcastChannel", "MagicCodeResponseChannel");
16
13
  _defineProperty(Constants, "systemMessageTag", "system");
17
-
18
14
  _defineProperty(Constants, "userMessageTag", "user");
19
-
20
15
  _defineProperty(Constants, "historyMessageTag", "history");
21
-
22
16
  _defineProperty(Constants, "agentEndConversationMessageTag", "agentendconversation");
23
-
17
+ _defineProperty(Constants, "supervisorForceCloseMessageTag", "supervisorforceclosedconversation");
24
18
  _defineProperty(Constants, "receivedMessageClassName", "ms_lcw_webchat_received_message");
25
-
26
19
  _defineProperty(Constants, "sentMessageClassName", "ms_lcw_webchat_sent_message");
27
-
28
20
  _defineProperty(Constants, "webchatChannelId", "webchat");
29
-
30
21
  _defineProperty(Constants, "markdown", "markdown");
31
-
32
22
  _defineProperty(Constants, "actionType", "actionType");
33
-
34
23
  _defineProperty(Constants, "String", "string");
35
-
36
24
  _defineProperty(Constants, "ChatMessagesJson", "chatMessagesJson");
37
-
38
25
  _defineProperty(Constants, "truePascal", "True");
39
-
40
26
  _defineProperty(Constants, "true", "true");
41
-
42
27
  _defineProperty(Constants, "false", "false");
43
-
44
28
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
45
-
46
- _defineProperty(Constants, "widgetStateDataKey", "LcwChatWidgetState");
47
-
48
29
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
49
-
50
30
  _defineProperty(Constants, "ChannelId", "lcw");
51
-
52
31
  _defineProperty(Constants, "CustomerTag", "FromCustomer");
53
-
54
32
  _defineProperty(Constants, "GifContentType", "image/gif");
55
-
56
33
  _defineProperty(Constants, "video", "video");
57
-
58
34
  _defineProperty(Constants, "audio", "audio");
59
-
60
35
  _defineProperty(Constants, "controlsList", "controlsList");
61
-
62
36
  _defineProperty(Constants, "nodownload", "nodownload");
63
-
64
37
  _defineProperty(Constants, "activity", "activity");
65
-
66
38
  _defineProperty(Constants, "payload", "payload");
67
-
68
39
  _defineProperty(Constants, "text", "text");
69
-
70
40
  _defineProperty(Constants, "blank", "_blank");
71
-
72
41
  _defineProperty(Constants, "visitorIdPrefix", "8:");
73
-
74
42
  _defineProperty(Constants, "left", "left");
75
-
76
43
  _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
77
-
78
44
  _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
79
-
80
45
  _defineProperty(Constants, "message", "message");
81
-
46
+ _defineProperty(Constants, "hiddenTag", "Hidden");
47
+ _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
48
+ _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
49
+ _defineProperty(Constants, "publicMessageTag", "public");
82
50
  _defineProperty(Constants, "supportedAdaptiveCardContentTypes", ["application/vnd.microsoft.card.adaptive", "application/vnd.microsoft.card.audio", "application/vnd.microsoft.card.hero", "application/vnd.microsoft.card.receipt", "application/vnd.microsoft.card.thumbnail", "application/vnd.microsoft.card.signin", "application/vnd.microsoft.card.oauth"]);
83
-
84
51
  _defineProperty(Constants, "maxUploadFileSize", "500000");
85
-
86
52
  _defineProperty(Constants, "imageRegex", /(\.)(jpeg|jpg|jiff|png|gif|bmp)$/i);
87
-
88
53
  _defineProperty(Constants, "audioMediaRegex", /(\.)(aac|aiff|alac|flac|mp2|mp3|pcm|wav|wma)$/i);
89
-
90
54
  _defineProperty(Constants, "videoMediaRegex", /(\.)(avchd|avi|flv|mpe|mpeg|mpg|mpv|mp4|m4p|m4v|mov|qt|swf|webm|wmv)$/i);
91
-
92
55
  _defineProperty(Constants, "chromeSupportedInlineMediaRegex", /(\.)(aac|mp3|wav|mp4)$/i);
93
-
94
56
  _defineProperty(Constants, "firefoxSupportedInlineMediaRegex", /(\.)(aac|flac|mp3|wav|mp4|mov)$/i);
95
-
96
57
  _defineProperty(Constants, "CallAdded", "callAdded");
97
-
98
58
  _defineProperty(Constants, "LocalVideoStreamAdded", "localVideoStreamAdded");
99
-
100
59
  _defineProperty(Constants, "LocalVideoStreamRemoved", "localVideoStreamRemoved");
101
-
102
60
  _defineProperty(Constants, "RemoteVideoStreamAdded", "remoteVideoStreamAdded");
103
-
104
61
  _defineProperty(Constants, "RemoteVideoStreamRemoved", "remoteVideoStreamRemoved");
105
-
106
62
  _defineProperty(Constants, "CallDisconnected", "callDisconnected");
107
-
108
63
  _defineProperty(Constants, "IncomingCallEnded", "incomingCallEnded");
109
-
110
64
  _defineProperty(Constants, "VoiceVideoInitialize", "voiceVideoInitialize");
111
-
112
65
  _defineProperty(Constants, "VoiceVideoInitializeException", "voiceVideoInitializeOnException");
113
-
114
66
  _defineProperty(Constants, "VoiceVideoLoading", "voiceVideoLoading");
115
-
116
67
  _defineProperty(Constants, "VoiceVideoNotLoaded", "voiceVideoNotLoaded");
117
-
118
68
  _defineProperty(Constants, "VoiceVideoLoadingException", "voiceVideoLoadingOnException");
119
-
120
69
  _defineProperty(Constants, "VoiceVideoAcceptCallException", "voiceVideoAcceptCallOnException");
121
-
122
70
  _defineProperty(Constants, "VoiceVideoAcceptCallWithVideoException", "voiceVideoAcceptCallWithVideoException");
123
-
124
71
  _defineProperty(Constants, "defaultDownloadTranscriptError", "Download transcript failed.");
125
-
126
72
  _defineProperty(Constants, "ProactiveChatInviteTimeoutInMs", 60000);
127
-
128
73
  _defineProperty(Constants, "InputSubmit", "InputSubmit");
129
-
130
74
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
131
-
132
- _defineProperty(Constants, "redirectPageRequest", "redirectPageRequest");
133
-
134
75
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
135
-
136
76
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
137
-
138
77
  _defineProperty(Constants, "Default", "default");
139
-
140
78
  _defineProperty(Constants, "Zero", "zero");
141
-
142
79
  _defineProperty(Constants, "Title", "title");
143
-
144
80
  _defineProperty(Constants, "Target", "target");
145
-
146
81
  _defineProperty(Constants, "Blank", "_blank");
147
-
148
82
  _defineProperty(Constants, "TargetRelationship", "rel");
149
-
150
83
  _defineProperty(Constants, "TargetRelationshipAttributes", "noopener noreferrer");
151
-
152
84
  _defineProperty(Constants, "OpenLinkIconCssClass", "webchat__markdown__external-link-icon");
153
-
154
85
  _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azureedge.net/public/connecttest.txt");
155
-
156
86
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
157
-
87
+ _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
88
+ _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
89
+ _defineProperty(Constants, "BrowserUnloadConfirmationMessage", "Do you want to leave chat?");
158
90
  const Regex = (_class = class Regex {}, _defineProperty(_class, "EmailRegex", "(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"), _class);
159
91
  exports.Regex = Regex;
160
-
161
92
  class HtmlIdNames {}
162
-
163
93
  exports.HtmlIdNames = HtmlIdNames;
164
-
165
94
  _defineProperty(HtmlIdNames, "MSLiveChatWidget", "MSLiveChatWidget");
166
-
167
95
  class HtmlClassNames {}
168
-
169
96
  exports.HtmlClassNames = HtmlClassNames;
170
-
171
97
  _defineProperty(HtmlClassNames, "webChatBannerCloseButton", "webchat__toast__dismissButton");
172
-
173
98
  _defineProperty(HtmlClassNames, "webChatBannerExpandButton", "webchat__toaster__expandIcon");
174
-
175
99
  class HtmlElementSelectors {}
176
-
177
100
  exports.HtmlElementSelectors = HtmlElementSelectors;
178
-
179
101
  _defineProperty(HtmlElementSelectors, "sendBoxSelector", "textarea[data-id=\"webchat-sendbox-input\"]");
180
-
181
102
  class HtmlAttributeNames {}
182
-
183
103
  exports.HtmlAttributeNames = HtmlAttributeNames;
184
-
185
104
  _defineProperty(HtmlAttributeNames, "role", "role");
186
-
187
105
  _defineProperty(HtmlAttributeNames, "navigation", "navigation");
188
-
189
106
  _defineProperty(HtmlAttributeNames, "ariaLabel", "aria-label");
190
-
191
107
  _defineProperty(HtmlAttributeNames, "ariaLive", "aria-live");
192
-
193
108
  _defineProperty(HtmlAttributeNames, "ariaDisabled", "aria-disabled");
194
-
195
109
  _defineProperty(HtmlAttributeNames, "form", "form");
196
-
197
110
  _defineProperty(HtmlAttributeNames, "ariaLabelledby", "aria-labelledby");
198
-
199
111
  _defineProperty(HtmlAttributeNames, "tabindex", "tabindex");
200
-
201
112
  _defineProperty(HtmlAttributeNames, "ariaRequired", "aria-required");
202
-
203
113
  _defineProperty(HtmlAttributeNames, "ariaDesribedby", "aria-describedby");
204
-
205
114
  _defineProperty(HtmlAttributeNames, "ariaHidden", "aria-hidden");
206
-
207
115
  _defineProperty(HtmlAttributeNames, "disabled", "disabled");
208
-
209
116
  _defineProperty(HtmlAttributeNames, "hidden", "hidden");
210
-
211
117
  _defineProperty(HtmlAttributeNames, "download", "download");
212
-
213
118
  _defineProperty(HtmlAttributeNames, "href", "href");
214
-
215
119
  _defineProperty(HtmlAttributeNames, "region", "region");
216
-
217
120
  _defineProperty(HtmlAttributeNames, "button", "button");
218
-
219
121
  _defineProperty(HtmlAttributeNames, "input", "Input");
220
-
221
122
  _defineProperty(HtmlAttributeNames, "style", "style");
222
-
223
123
  _defineProperty(HtmlAttributeNames, "head", "head");
224
-
225
124
  _defineProperty(HtmlAttributeNames, "type", "type");
226
-
227
125
  _defineProperty(HtmlAttributeNames, "csstext", "text/css");
228
-
229
126
  _defineProperty(HtmlAttributeNames, "listItem", "LI");
230
-
231
127
  _defineProperty(HtmlAttributeNames, "unorderedList", "UL");
232
-
233
128
  _defineProperty(HtmlAttributeNames, "div", "div");
234
-
235
129
  _defineProperty(HtmlAttributeNames, "aTagName", "a");
236
-
237
130
  _defineProperty(HtmlAttributeNames, "noopenerTag", "noopener");
238
-
239
131
  _defineProperty(HtmlAttributeNames, "noreferrerTag", "noreferrer");
240
-
241
132
  _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
242
-
243
133
  _defineProperty(HtmlAttributeNames, "adaptiveCardTextBlockClassName", "ac-textBlock");
244
-
245
134
  _defineProperty(HtmlAttributeNames, "adaptiveCardToggleInputClassName", "ac-toggleInput");
246
-
247
135
  class WebChatMiddlewareConstants {}
248
-
249
136
  exports.WebChatMiddlewareConstants = WebChatMiddlewareConstants;
250
-
251
137
  _defineProperty(WebChatMiddlewareConstants, "nextVisibleActivity", "nextVisibleActivity");
252
-
253
138
  _defineProperty(WebChatMiddlewareConstants, "timeBetweenTimestampGroups", 300000);
254
-
255
139
  _defineProperty(WebChatMiddlewareConstants, "maxTextLength", 6000);
256
-
257
140
  _defineProperty(WebChatMiddlewareConstants, "adaptiveCard", "AdaptiveCard");
258
-
259
141
  class MimeTypes {}
260
-
261
142
  exports.MimeTypes = MimeTypes;
262
-
263
143
  _defineProperty(MimeTypes, "UnknownFileType", "application/octet-stream");
264
-
265
144
  class LocaleConstants {}
266
-
267
145
  exports.LocaleConstants = LocaleConstants;
268
-
269
146
  _defineProperty(LocaleConstants, "RTL_LOCALES", ["1025", "1037"]);
270
-
271
147
  let ElementType;
272
148
  exports.ElementType = ElementType;
273
-
274
149
  (function (ElementType) {
275
150
  ElementType["CallingContainerSDK"] = "CallingContainerSDK";
276
151
  })(ElementType || (exports.ElementType = ElementType = {}));
277
-
278
152
  let ChatSDKError;
279
153
  exports.ChatSDKError = ChatSDKError;
280
-
281
154
  (function (ChatSDKError) {
282
155
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
283
156
  })(ChatSDKError || (exports.ChatSDKError = ChatSDKError = {}));
284
-
157
+ let EnvironmentVersion;
158
+ exports.EnvironmentVersion = EnvironmentVersion;
159
+ (function (EnvironmentVersion) {
160
+ EnvironmentVersion["prod"] = "prod";
161
+ EnvironmentVersion["dogfood"] = "df";
162
+ EnvironmentVersion["int"] = "int";
163
+ EnvironmentVersion["test"] = "test";
164
+ })(EnvironmentVersion || (exports.EnvironmentVersion = EnvironmentVersion = {}));
165
+ let E2VVOptions;
166
+ exports.E2VVOptions = E2VVOptions;
167
+ (function (E2VVOptions) {
168
+ E2VVOptions["NoCalling"] = "192350000";
169
+ E2VVOptions["VideoAndVoiceCalling"] = "192350001";
170
+ E2VVOptions["VoiceOnly"] = "192350002";
171
+ })(E2VVOptions || (exports.E2VVOptions = E2VVOptions = {}));
172
+ let LiveWorkItemState;
173
+ exports.LiveWorkItemState = LiveWorkItemState;
174
+ (function (LiveWorkItemState) {
175
+ LiveWorkItemState["Active"] = "Active";
176
+ LiveWorkItemState["Closed"] = "Closed";
177
+ LiveWorkItemState["Open"] = "Open";
178
+ LiveWorkItemState["Waiting"] = "Waiting";
179
+ LiveWorkItemState["WrapUp"] = "WrapUp";
180
+ })(LiveWorkItemState || (exports.LiveWorkItemState = LiveWorkItemState = {}));
285
181
  class TranscriptConstants {}
286
-
287
182
  exports.TranscriptConstants = TranscriptConstants;
288
-
289
183
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
290
-
291
184
  _defineProperty(TranscriptConstants, "TranscriptMessageEmojiMessageType", "http://schema.skype.com/emoji");
292
-
293
185
  _defineProperty(TranscriptConstants, "ChatTranscriptDownloadFile", "ChatTranscripts.html");
294
-
295
186
  _defineProperty(TranscriptConstants, "DefaultFileAttachmentName", "Untitled.txt");
296
-
297
187
  _defineProperty(TranscriptConstants, "CustomerDialogColor", "#E8E8E8");
298
-
299
188
  _defineProperty(TranscriptConstants, "CustomerFontColor", "black");
300
-
301
189
  _defineProperty(TranscriptConstants, "AdaptiveCardType", "adaptivecard");
302
-
303
190
  _defineProperty(TranscriptConstants, "InternalMode", "internal");
304
-
305
191
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
306
-
307
- _defineProperty(TranscriptConstants, "AgentFontColor", "white");
192
+ _defineProperty(TranscriptConstants, "AgentFontColor", "white");
193
+ class AriaTelemetryConstants {}
194
+ exports.AriaTelemetryConstants = AriaTelemetryConstants;
195
+ _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
196
+ _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
197
+ _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
198
+ _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
199
+ _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
200
+ _defineProperty(AriaTelemetryConstants, "Public", "Public");
201
+ _defineProperty(AriaTelemetryConstants, "EU", "Europe");
202
+ _defineProperty(AriaTelemetryConstants, "lcwEUDomainNames", ["crm4.omnichannelengagementhub.com", "crm12.omnichannelengagementhub.com", "crm16.omnichannelengagementhub.com", "crm17.omnichannelengagementhub.com", "crm19.omnichannelengagementhub.com"]);
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.KeyCodes = void 0;
7
-
8
7
  var _class;
9
-
10
8
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
9
  const KeyCodes = (_class = class KeyCodes {}, _defineProperty(_class, "ENTER", "Enter"), _defineProperty(_class, "TAB", "Tab"), _class);
13
10
  exports.KeyCodes = KeyCodes;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DataStoreManager = void 0;
7
-
8
7
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
10
8
  class DataStoreManager {}
11
-
12
9
  exports.DataStoreManager = DataStoreManager;
13
-
14
10
  _defineProperty(DataStoreManager, "clientDataStore", void 0);
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.registerBroadcastServiceForLocalStorage = exports.defaultCacheManager = void 0;
7
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
8
+ var _utils = require("../../utils");
9
+ var _defaultClientDataStoreProvider = require("./defaultClientDataStoreProvider");
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ class defaultCacheManager {}
12
+ exports.defaultCacheManager = defaultCacheManager;
13
+ _defineProperty(defaultCacheManager, "InternalCache", {});
14
+ const registerBroadcastServiceForLocalStorage = (orgid, widgetId, widgetInstanceId) => {
15
+ const widgetCacheId = (0, _utils.getWidgetCacheId)(orgid, widgetId, widgetInstanceId);
16
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName(widgetCacheId).subscribe(msg => {
17
+ try {
18
+ (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)().setData(widgetCacheId, JSON.stringify(msg.payload), "localStorage");
19
+ } catch (error) {
20
+ console.error("Error in setting data to localstorage", error);
21
+ }
22
+ });
23
+ };
24
+ exports.registerBroadcastServiceForLocalStorage = registerBroadcastServiceForLocalStorage;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultClientDataStoreProvider = void 0;
7
+ var _defaultInMemoryDataStore = require("./defaultInMemoryDataStore");
8
+ var _TelemetryHelper = require("../../telemetry/TelemetryHelper");
9
+ var _TelemetryConstants = require("../../telemetry/TelemetryConstants");
10
+ const defaultClientDataStoreProvider = () => {
11
+ const isCookieAllowed = () => {
12
+ try {
13
+ localStorage;
14
+ sessionStorage;
15
+ return true;
16
+ } catch (error) {
17
+ console.error("Third party cookie blocked");
18
+ return false;
19
+ }
20
+ };
21
+ const TtlInMs = 15 * 60 * 1000; // 15 mins
22
+ const dataStoreProvider = {
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ setData: (key, data, type) => {
25
+ if (isCookieAllowed()) {
26
+ try {
27
+ if (key) {
28
+ const now = new Date();
29
+ const item = {
30
+ data: data,
31
+ expiry: now.getTime() + TtlInMs
32
+ };
33
+ const strItem = JSON.stringify(item);
34
+ if (type === "localStorage") {
35
+ localStorage.setItem(key, strItem);
36
+ } else {
37
+ sessionStorage.setItem(key, strItem);
38
+ }
39
+ }
40
+ } catch (error) {
41
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
42
+ Event: _TelemetryConstants.TelemetryEvent.ClientDataStoreProviderFailed,
43
+ ExceptionDetails: error,
44
+ Description: "Unable to store data in localStorage."
45
+ });
46
+ }
47
+ } else {
48
+ const dataToCache = {
49
+ key: key,
50
+ data: data,
51
+ type: type
52
+ };
53
+ parent.postMessage(dataToCache, "*");
54
+ }
55
+ },
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ getData: (key, type) => {
58
+ if (isCookieAllowed()) {
59
+ let item;
60
+ if (type === "localStorage") {
61
+ item = localStorage.getItem(key);
62
+ } else {
63
+ item = sessionStorage.getItem(key);
64
+ }
65
+ //Return item if not expired
66
+ let itemInJson = undefined;
67
+ if (item !== null) {
68
+ itemInJson = JSON.parse(item);
69
+ const now = new Date();
70
+ // compare the expiry time of the item with the current time
71
+ if (now.getTime() > itemInJson.expiry) {
72
+ // If the item is expired, delete the item from storage
73
+ // and return null
74
+ localStorage.removeItem(key);
75
+ return null;
76
+ }
77
+ return itemInJson.data;
78
+ }
79
+ } else {
80
+ // get data from in memory db when cookie is disabled
81
+ return (0, _defaultInMemoryDataStore.inMemoryDataStore)().getData(key);
82
+ }
83
+ },
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ removeData: (key, type) => {
86
+ if (isCookieAllowed()) {
87
+ if (key) {
88
+ if (type === "localStorage") {
89
+ return localStorage.removeItem(key);
90
+ } else {
91
+ return sessionStorage.removeItem(key);
92
+ }
93
+ }
94
+ } else {
95
+ // get data from in memory db when cookie is disabled
96
+ return (0, _defaultInMemoryDataStore.inMemoryDataStore)().removeData(key);
97
+ }
98
+ }
99
+ };
100
+ return dataStoreProvider;
101
+ };
102
+ exports.defaultClientDataStoreProvider = defaultClientDataStoreProvider;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.inMemoryDataStore = exports.defaultInitializeInMemoryDataStore = void 0;
7
+ var _TelemetryConstants = require("../../telemetry/TelemetryConstants");
8
+ var _TelemetryHelper = require("../../telemetry/TelemetryHelper");
9
+ var _defaultCacheManager = require("./defaultCacheManager");
10
+ const defaultInitializeInMemoryDataStore = widgetId => {
11
+ try {
12
+ localStorage;
13
+ } catch (error) {
14
+ // Register below events when localStorage is not accessible
15
+ // Listening to event raised from client browser
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ window.addEventListener("message", function (e) {
18
+ try {
19
+ if (e.data.key) {
20
+ const browserData = e.data;
21
+ if (_defaultCacheManager.defaultCacheManager.InternalCache[browserData.key]) {
22
+ delete _defaultCacheManager.defaultCacheManager.InternalCache[browserData.key];
23
+ }
24
+ _defaultCacheManager.defaultCacheManager.InternalCache[browserData.key] = browserData.data;
25
+ }
26
+ } catch (error) {
27
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
28
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
29
+ ExceptionDetails: error,
30
+ Description: "Unable to register default in-memory cache."
31
+ });
32
+ }
33
+ });
34
+
35
+ // send cache initialize message to client
36
+ if (_defaultCacheManager.defaultCacheManager.InternalCache === undefined || {}) {
37
+ parent.postMessage({
38
+ data: "cacheinitialize",
39
+ widgetId: widgetId
40
+ }, "*");
41
+ }
42
+ }
43
+ };
44
+ exports.defaultInitializeInMemoryDataStore = defaultInitializeInMemoryDataStore;
45
+ const inMemoryDataStore = () => {
46
+ const dataStoreProvider = {
47
+ getData: key => {
48
+ if (_defaultCacheManager.defaultCacheManager.InternalCache && _defaultCacheManager.defaultCacheManager.InternalCache[key]) {
49
+ return _defaultCacheManager.defaultCacheManager.InternalCache[key];
50
+ }
51
+ },
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ setData: (key, data) => {
54
+ try {
55
+ _defaultCacheManager.defaultCacheManager.InternalCache[key] = data;
56
+ } catch (error) {
57
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
58
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
59
+ ExceptionDetails: error,
60
+ Description: "Unable to set data in default in-memory cache."
61
+ });
62
+ }
63
+ },
64
+ removeData: key => {
65
+ try {
66
+ _defaultCacheManager.defaultCacheManager.InternalCache[key] = {};
67
+ } catch (error) {
68
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
69
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
70
+ ExceptionDetails: error,
71
+ Description: "Unable to remove data from default in-memory cache."
72
+ });
73
+ }
74
+ }
75
+ };
76
+ return dataStoreProvider;
77
+ };
78
+ exports.inMemoryDataStore = inMemoryDataStore;